package main

import "fmt"

func main() {
	// rand.Seed(time.Now().UnixNano()) // 初始化随机数种子

	// var scoreMap = make(map[string]int, 200)

	// for i := 0; i < 100; i++ {
	// 	key := fmt.Sprintf("stu%02d", i)
	// 	value := rand.Intn(100)
	// 	scoreMap[key] = value
	// }

	// // 取出map中所有的key存入到切片keys中
	// var keys = make([]string, 0, 200)
	// for key := range scoreMap {
	// 	keys = append(keys, key)
	// }

	// sort.Strings(keys)

	// for _, key := range keys {
	// 	fmt.Println(key, scoreMap[key])
	// }

	// var mapSlice = make([]map[string]string, 3)
	// for index, value := range mapSlice {
	// 	fmt.Printf("index:%d value:%v\n", index, value)
	// }
	// fmt.Println("after init")
	// // 对切片中的map元素进行初始化
	// mapSlice[0] = make(map[string]string, 10)
	// mapSlice[0]["name"] = "小王子"
	// mapSlice[0]["password"] = "123456"
	// mapSlice[0]["address"] = "沙河"
	// for index, value := range mapSlice {
	// 	fmt.Printf("index:%d value:%v\n", index, value)
	// }
	var sliceMap = make(map[string][]string, 3)
	fmt.Println(sliceMap) // map[]
	fmt.Println("after init")
	key := "中国"
	value, ok := sliceMap[key]
	if !ok {
		value = make([]string, 0, 2) // []
	}
	value = append(value, "北京", "上海") // ["北京" "上海"]
	sliceMap[key] = value
	fmt.Println(sliceMap) // [中国:["北京" "上海"]]
}
